home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 6 / The Arsenal Files 6 (Arsenal Computer).ISO / business / batrem42.zip / BATREM42.DOC < prev    next >
Text File  |  1996-03-03  |  49KB  |  1,072 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.                            BatchReminder 4.2
  26.  
  27.                       Copyright (c) Nice SoftWare!
  28.  
  29.                    PO BOX 6136, NL 2702 AC Zoetermeer
  30.  
  31.                              The Netherlands
  32.  
  33.                           FAX/PHONE +31-79-3165841
  34.  
  35.                             FIDO 2:281/527.3
  36.  
  37.                         Internet: nicesoft@pi.net
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51. BatchReminder 4.2 (C) Nice Software!             Page 2
  52.  
  53. 1. What is BatchReminder?..........................................  3
  54.  
  55. 2. Installing BatchReminder........................................  3
  56.  
  57. 3. Data-entry into the diary (F2) .................................  3
  58.       3a. Calendar diary-entries (F5)..............................  4
  59.       3b. Rapid entry of sequence of events........................  4
  60.       3c. Date-format presentation.................................  4
  61.  
  62. 4. The diary-file : BATREM.FIL.....................................  4
  63.  
  64. 5. How to use BatchReminder in AUTOEXEC.BAT........................  5
  65.       5a: Examples for use in AUTOEXEC.BAT.........................  5
  66.       5b: Optional Path-instructions...............................  6
  67.       5c: Environment-instruction (SET-command)....................  6
  68.       5d: The ALARM-function ( also see section 12)................  6
  69.       5e. The Reporter screen......................................  7
  70.  
  71. 6. Starting BatchReminder without a parameter......................  7
  72.  
  73. 7. Implementing BatchReminder in a MULTI-USER Environment..........  8
  74.  
  75. 8. Address-maintenance in BatchReminder............................  9
  76.       8a. Mail Merge WordPerfect................................... 10
  77.       8b. Mail Merge MS-Word....................................... 10
  78.       8c. MS-Word and ODBC (Open Data Base Connectivity)........... 11
  79.       8d. Exporting data........................................... 11
  80.       8e. Sorting.................................................. 11
  81.       8f. Memos.................................................... 11
  82.       8g. Encryption and decryption of memo-text (Control-V)....... 12
  83.  
  84. 9. The Utilities................................................... 12
  85.       9a. Transfer................................................. 12
  86.       9b. BackUp and Restore....................................... 12
  87.       9c. SystemTime............................................... 12
  88.       9d. BatchErase............................................... 13
  89.       9e. The Calculator........................................... 13
  90.       9f. The ASCII-list of high ASCII-characters.................. 13
  91.       9g. BatchBrowse (BB.EXE)..................................... 13
  92.  
  93. 10. Navigating BatchReminder....................................... 13
  94.       10a. Quick Keys.............................................. 13
  95.       10b. Operating the Calendar.................................. 14
  96.  
  97. 11. Colours........................................................ 14
  98.  
  99. 12. The TSR-program BatchAlarm (BATALARM.COM)...................... 15
  100.       12a. Technical data.......................................... 16
  101.       12b. BatchAlarm on the Windows(95) platform...................16
  102.  
  103. 13. Disclaimer for BatchAlarm (BATALARM.COM)....................... 16
  104.  
  105. 14. Maximum number of records in BatchReminders DIARY.............. 16
  106.  
  107. 15. How about using BatchReminder permanently?..................... 17
  108.  
  109. 16. What happens if I do not register?............................. 17
  110.  
  111. 17. Credit where Credit is due..................................... 18
  112.  
  113. BatchReminder 4.2 (C) Nice Software!             Page 3
  114.  
  115.  
  116.   1. What is BatchReminder?
  117.   =========================
  118.  
  119.   BatchReminder is a 'Personal Information Manager' or 'Organizer' for the
  120.   PC. The program enables you to maintain a DIARY and ADDRESS-bank and
  121.   personal Memos which can be encrypted to prevent unauthorized use.
  122.   The DIARY has a built-in REPORTER and ALARM-clock which enables you to see
  123.   DIARY-events on screen instantaneously, on a daily basis.
  124.   The resident part of the ALARM-function is a mere 1600 bytes in size
  125.   allowing you full benefit of precious DOS base memory. This makes it one of
  126.   the smallest memory resident DIARY-utilities ever.
  127.  
  128.   ADDRESS-control offers you the ability to store all the addresses of your
  129.   personal relations in a file on disk, and retrieve it with helpful
  130.   utilities like searching on sound, -string and point-and-shoot indexes.
  131.  
  132.   With the option 'MAIL-MERGE', you can produce data-files for mail-merge
  133.   purposes with either MS-Word or WordPerfect.
  134.  
  135.   The export functions of ADDRESS-control carry your data within the reach of
  136.   dBASE, LOTUS 123 and wordprocessor.
  137.  
  138.   BatchReminder can also be implemented in a multi-user network.
  139.   In a network BatchReminder can be tailored to honour data- and user-
  140.   directories. This makes it possible to report from a central and a private
  141.   diary.
  142.   Through the ALARM-function a network administrator can even reach users who
  143.   logged off during the day!
  144.  
  145.   2. Installing BatchReminder
  146.   ===========================
  147.  
  148.   The installation of BatchReminder can be achieved by running INSTALL.EXE.
  149.   INSTALL copies the BatchReminder files to the correct directory (creates it
  150.   if necessary) and will optionally edit AUTOEXEC.BAT for an optimal use of
  151.   BatchReminder. The original AUTOEXEC.BAT is renamed to AUTOEXEC.OLD so you
  152.   can return to the old situation any time you choose.
  153.  
  154.   As a matter of fact you can skip the technical stuff under section 5 and 7
  155.   when you use the install program. Install will construct the right syntax
  156.   from your answers to the prompts of install.
  157.  
  158.   3. Data-entry into the diary (F2) 
  159.   =================================
  160.  
  161.   Initially BatchReminder knows eight default diary-events:
  162.  
  163.   - Diary
  164.   - Pinboard
  165.   - Birthday
  166.   - Wedding-day
  167.   - Anniversary
  168.   - Sports
  169.   - Foundation
  170.  
  171. BatchReminder 4.2 (C) Nice Software!             Page 4
  172.  
  173.  
  174.   You are free to change this events in the data-entry procedure. These
  175.   changes are written to the configuration file. In this way you can tailor
  176.   the events to your needs.
  177.  
  178.   When entering a date you are free to omit the year. This is particularly
  179.   useful with birthdays when you know the day and month but not the exact
  180.   year.
  181.  
  182.   Pinboard entries are reminders for things to do for which no particular
  183.   date is (yet) planned. Pinboard entries are therefore the only events
  184.   WITHOUT a date and are reported daily by BatchReminder.
  185.  
  186.   A single event can either be reported yearly or just once.
  187.   One-time events are exclusively reported on the exact date and for as much
  188.   as they fall within the user-defined reach of the search-parameter.
  189.  
  190.   Yearly events are reported on the exact day and month and for as much as
  191.   they fall within the reach of the search-parameter (see section 5).
  192.  
  193.   3a. Calendar diary-entries (F5)
  194.   -------------------------------
  195.  
  196.   The calendar-function brings the current month on screen with the cursor on
  197.   the current day. Days with events or set alarm are indicated as such.
  198.   On the right-hand side of the calendar the contents of the day are
  199.   presented in the diary-window. With the aid of the cursor-keys one can
  200.   scroll to different days and months.
  201.   Note that the calendar gives an extra possibility to record diary-events. 
  202.   The calendar routine however regards all entries as 'one-time' events and
  203.   doesn't accept passed dates.
  204.  
  205.   The calendar is suited to consult the diary quickly to see if an
  206.   appointment can be made and to fix it in the progress.
  207.  
  208.   3b. Rapid entry of sequence of events
  209.   ------------------------------------- 
  210.  
  211.   A periodically returning event is most efficiently recorded by:
  212.        
  213.        - Enter the first event ( Standard (F2) or through Calendar (F5) )
  214.        - Select 'carry through' under option 'Diary' :
  215.          Change' and set:
  216.             - The end-date of the series of events
  217.             - The time-factor: day, week, month, year
  218.             - The skip-factor
  219.  
  220.   3c. Date-format presentation
  221.   ----------------------------
  222.  
  223.   BatchReminder is capable of handling the European and USA date-format.
  224.   By default BatchReminder starts with US format ( MM/DD/YYYY).
  225.   Through option 'Config:Dateformat' the dateformat can be toggled between
  226.   US- AND European-format (DD/MM/YYYY). Changes will be written to the
  227.   configuration file so BatchReminder will stick to the chosen format.
  228.   One can change the date-format 'on-the-fly' at will. It has no effect
  229.   on the way data is stored on file.
  230.  
  231.  
  232. BatchReminder 4.2 (C) Nice Software!             Page 5
  233.  
  234.   4. The diary-file : BATREM.FIL
  235.   ==============================
  236.  
  237.   Diary entries are stored by BatchReminder in a file called 'BATREM.FIL'.
  238.  
  239.   Install tells BatchReminder where to find the file. This file may
  240.   be created in a Networking environment so many people can use it
  241.   as a central diary.
  242.  
  243.   5. How to use BatchReminder in AUTOEXEC.BAT
  244.   =========================================== 
  245.  
  246.   NB!  This technical stuff is fully supported by the install programme
  247.        INSTALL.EXE. Knowledge of the parameter-use therefore is not
  248.        essential. This document however would not be complete if this
  249.        subject was not disclosed.
  250.  
  251.   To use BatchReminder in a BATCH-procedure one needs to place BatchReminder
  252.   parameters in the BATCH-File, e.g.
  253.  
  254.        BATREM option [-Ffullpath] [-Dfullpath]
  255.  
  256.   The path-instructions are optional for special use in Batch-files, if no
  257.   parameter is supplied BatchReminder will present a well-come window
  258.   followed by a pull-down menu.
  259.  
  260.   Valid options:
  261.        Z         = Search and report today's events
  262.        Zn        = Search and report today and n-days back (max 9)
  263.        ZM        = Search and report today, on mondays 2 days back
  264.        Z[n][M]Vn = As above plus n-days ahead (max 9)
  265.        1Z[n][M]Vn= As above, only once a day
  266.        Z[nMVn]Cx = x is colour Reporterscreen (1 to 15)
  267.  
  268.   5a: Examples for use in AUTOEXEC.BAT
  269.   ------------------------------------
  270.   ..........
  271.   BATREM Z       => Every time at reboot report about today's events
  272.   BATALARM
  273.  
  274.   ..........
  275.   BATREM 1ZMC01  => Advised parameter, once a day, on Mondays 2 days back,
  276.   BATALARM          Reporter screen-colour is 01 (Blue)
  277.  
  278.   ..........
  279.   BATREM 1ZMV1   => As above, but also looks 1 day ahead
  280.   BATALARM
  281.  
  282.   ..........
  283.   BATREM 1Z9V9   => once a day, 9 days back, 9 days ahead (full scope)
  284.   BATALARM  
  285.  
  286.  
  287. BatchReminder 4.2 (C) Nice Software!             Page 6
  288.  
  289.  
  290.   5b: Optional Path-instructions
  291.   ------------------------------
  292.  
  293.   There is no need to place BATREM.EXE and its database BATREM.FIL together
  294.   in the same directory.
  295.   BatchReminder first looks in the current directory and will, if necessary,
  296.   search the entire DOS-path for BATREM.FIL.
  297.    
  298.   The working files of BatchReminder can be placed in different directories.
  299.   This is particularly useful in a multi-user network (also see section 7),
  300.   e.g.
  301.  
  302.        DATA-files     F:\PZ\DATA     (*.FIL)    
  303.        User unique-   F:\USER\JOHNSON(*.CFG, *.FRQ, *.ALM)
  304.         files         
  305.  
  306.   In this situation one uses the optional path-instructions:
  307.  
  308.   Example in AUTOEXEC.BAT:
  309.  
  310.   ........
  311.   BATREM 1ZM -DF:\PZ\DATA -FF:\USER\JOHNSON
  312.   BATALARM -FF:\USER\JOHNSON
  313.  
  314.   5c: Environment-instruction (SET-command):
  315.   ------------------------------------------
  316.  
  317.   Apart from making use of the -D or -F parameter it is possible to globally
  318.   indicate where BatchReminder can find its files.
  319.  
  320.   This is done by means of the SET-command in AUTOEXEC.BAT just before
  321.   BatchReminder is called, e.g.
  322.  
  323.        SET BATREM= C:\UTILS\BATREM
  324.        BATREM 1ZMV1
  325.  
  326.   BatchReminder will now expect its files to be located in the directory 
  327.   C:\UTILS\BATREM.
  328.  
  329.   However, the explicit use of -D or -F will overrule the SET command.
  330.  
  331.   *** The default size of the DOS-environment is 160 bytes.    ***
  332.   *** If no more environment space is available for the SET    ***
  333.   *** instruction one can enlarge this environment-block by    ***
  334.   *** entering the following instruction in CONFIG.SYS:        ***
  335.   ***                     SHELL = C:\COMMAND.COM /P /E:512     ***
  336.  
  337.   5d: The ALARM-function ( also see section 12):
  338.   ----------------------------------------------
  339.  
  340.   The ALARM-time (24 hour format) is optional and activates two functions
  341.   within BatchReminder,
  342.   1.   Guarding against double appointments; if an appointment is entered
  343.        BatchReminder will not accept another appointment for the given time.
  344.  
  345. BatchReminder 4.2 (C) Nice Software!             Page 7
  346.  
  347.   2.   ALARM-signal function; on the given time one hears the Reporter-bell
  348.        and furthermore a message appears in the right top corner of the
  349.        screen.
  350.        Note that this function only works in conjunction with the TSR-
  351.        utility BatchAlarm!
  352.        BatchReminder and BatchAlarm communicate by means of an interface-
  353.        file 'C:\~~~1.ALM' which is produced by BatchReminder and is read by
  354.        BatchAlarm.
  355.        ( Pay attention to the calling sequence in the Batch-file!)
  356.  
  357.   If you don't want to use the TSR you can switch off the ALARM-interface by
  358.   means of the menu-option 'Config'.
  359.  
  360.   5e. The Reporter screen
  361.   -----------------------
  362.   This is the most apparent feature of BatchReminder. The Reporter screen
  363.   only pops up during executing of AUTOEXEC.BAT whenever it has found anything
  364.   to report. If there is nothing to report it keeps quiet and leaves
  365.   AUTOEXEC go about it's usual business.
  366.   If it does pop-up, it is a good idea to check the system time which
  367.   is shown in the Reporter-screen. The system-time can be adjusted whilst in
  368.   Reporter-mode. (Note that BatchAlarm might go resident with this system-time
  369.   immediately after the reporter closes).
  370.   Whilst in the reporter-screen you can make a jump to BatchReminder by
  371.   pressing F3. When you exit out of BatchReminder after a user-jump, control
  372.   will be returned to AUTOEXEC.BAT.
  373.   The Reporter will wait for acknowledgement by the user for 10 minutes.
  374.   If you did not press enter before that time it will give control to
  375.   AUTOEXEC automatically.
  376.  
  377.   6. Starting BatchReminder without a parameter
  378.   ============================================= 
  379.  
  380.   If BatchReminder is started without a parameter, it presents a welcome-
  381.   window followed by a pull-down menu:
  382.  
  383.   DIARY     :    Entry     - new diary event
  384.                  Change    - Name, date, event, frequency,
  385.                              Carry through
  386.                  Remove    - remove passed or unwanted events
  387.                  BatchErase- Remove passed 'one-time' events ; result
  388.                              to BATREM.HIS
  389.                  End       - Exit to DOS
  390.  
  391.   DIARY-     :   Today     - Report today's events
  392.     REPORTS      LookBack  - Events from Jan 1th till today
  393.                  LookAhead - Coming events
  394.                  Print     - Full Report per item to printer
  395.                  Calendar  - Month(s) on screen with fast entry
  396.  
  397.   INFO      :    Help      - General directions
  398.                  Info      - Philosophy and Credits
  399.                  Memos    - Hows & why of memos
  400.                 Licence   - Licence-information
  401.  
  402. BatchReminder 4.2 (C) Nice Software!             Page 8
  403.  
  404.   CONFIG    :    Colour    - Reporter and BatchReminder in colour
  405.                  Monochrome- Reporter and BatchReminder in B/W
  406.                              (monochrome C/E/VGA)
  407.                  Sound On  - 'Whistling Windows' at welcome and 
  408.                              file-mutations
  409.                  Sound Off - Silence. Doesn't silence Reporter-bell
  410.                  MakeAlarm - Enables interfacing with BatchAlarm
  411.                  MakeNoAlarm- You like BatchReminder but resent the use
  412.                              of TSR's. No interface will be made.
  413.                  DateFormat- There are to formats to choose from:
  414.                              1. DD/MM/YYYY (by default)    
  415.                              2. MM/DD/YYYY            
  416.   ADDRESSES :    Consult   - Consult the address-bank with several
  417.                              search-facilities (sound, string etc)
  418.                  Entry     - New addresses
  419.                  Change    - change existing entries
  420.                  Remove    - remove existing entries
  421.                  Mail-Merge- Produce data-file for WordProcessor
  422.                  Export    - Export address-bank to dBase III, LOTUS 123
  423.                              or ASCII
  424.                  Sort      - Sort address-bank on 1 of more items
  425.  
  426.   UTILITIES :    Transfer  - Automatic exchange of BatchReminder 
  427.                              DATA-files between 2 PC's by means of
  428.                              DATE/TIME comparison
  429.                  BackUp    - Copy DATA-files to diskette
  430.                  Restore   - Copy DATA-files from diskette
  431.                  Hows&Why  - Explanatory discourse on Utilities
  432.                  SystemTime- Correct DOS time and day
  433.                  Calculator- 4 function calculator with Memory     
  434.  
  435.   QUIT      :    ExitToDos - Exit to DOS
  436.  
  437.   7. Implementing BatchReminder in a MULTI-USER Environment
  438.   ========================================================= 
  439.  
  440.   NOTE!The technique which is described in this section is fully applied by
  441.        the install-program INSTALL.EXE. In most of the cases INSTALL will
  442.        construct the correct parameter syntax. So reading this technical
  443.        stuff is not a must. This documentation however would not be complete
  444.        if the 'MULTI-USER' aspect was to be omitted. 
  445.        In some cases the installation in a network requires an in depth
  446.        approach. A better understanding of this section is then essential.
  447.  
  448.   A number of users have implemented BatchReminder on a SERVER in a network
  449.   and have sent me enthusiastic reactions. 
  450.  
  451.   On the CLIENT side (workstations) the following adjustments should be made
  452.   to AUTOEXEC.BAT,
  453.  
  454.   a:   SET BATREM = C:\UTILS\BATREM (or whatever directory you see fit)
  455.  
  456.        This instructs BatchReminder to read the configuration- and
  457.        frequency-file of the individual CLIENT. If you omit the SET-command
  458.        BatchReminder would try to write to the root of the SERVER where it
  459.        wouldn't have write-permission (amongst other draw-backs).
  460.  
  461. BatchReminder 4.2 (C) Nice Software!             Page 9
  462.  
  463.   b:        BATREM 1ZM -DF:\PZ\DATA (F=serverdrive)
  464.             BATALARM
  465.  
  466.        The use of the -D parameter forces BatchReminder to use the data-file
  467.        on the SERVER and causes the ENVIRONMENT-parameter to be ignored.
  468.  
  469.   The ALARM-interface '~~~1.ALM' is by default created in the ROOT of drive C
  470.   by BatchReminder. When this is not allowed ( or not possible : think of
  471.   diskless workstations ) the F-parameter should be used to indicate the
  472.   user's Home-directory on the SERVER. With the same -F parameter BatchAlarm
  473.   must be instructed where to look for the interface-file, thus
  474.  
  475.             BATREM 1ZM -FH:\USER\JOHNSON
  476.             BATALARM -FH:\USER\JOHNSON
  477.  
  478.   or in combination with the -D parameter
  479.                                     
  480.             BATREM 1ZM -DF:\PZ\DATA -FH:\USER\JOHNSON
  481.             BATALARM -FH:\USER\JOHNSON
  482.  
  483.   During write-actions to the SERVER a complete write-lock is enforced on
  484.   'BATREM.FIL' in order to prevent file-inconsistency.
  485.   So called 'dead-locks' are intercepted whereby the CLIENT is allowed to
  486.   choose to wait and try again or to break off the procedure.
  487.  
  488.   *** The code that supports 'filesharing' and 'locking' in a network ***
  489.   *** environment is isolated in the user installable SHARE-module    ***
  490.   *** from MS-DOS. After SHARE is loaded MS-DOS will monitor all      ***
  491.   *** reading and writing actions through this module.                ***
  492.  
  493.   If and when a CLIENT is not permitted to make changes to the data-base
  494.   a 'read-only' status on the SERVER-file should be attributed thus
  495.   preventing unauthorised changes to the file.
  496.  
  497.   If BatchAlarm is added to the CLIENT side the network-administrator has a
  498.   possibility to invoke messages on all workstations for a given moment.
  499.   Logging off from the network could not prevent this since BatchAlarm stays
  500.   resident until the workstation is switched off. Even rebooting would not
  501.   interfere with the message because BatchAlarm would find the interface file
  502.   at boot-up and go resident again.
  503.  
  504.   The SET-parameter makes it possible for the CLIENT to maintain a separate
  505.   BATREM.FIL for personal use. In AUTOEXEC.BAT BatchReminder will then be
  506.   called for a second time, this time without the -D parameter.
  507.  
  508.   8. Address-maintenance in BatchReminder
  509.   ======================================= 
  510.  
  511.   This is all very straightforward. Here are some useful tips for the data-
  512.   entry of addresses,
  513.  
  514.   -FIRSTNAME     :    Something like Family B.
  515.                                 or Henry van => rest with NAME
  516.                                 or Karen and Rob
  517.   -NAME          :    Family or Company-name 
  518.                       (The NAME-field is the only mandatory field.   
  519.                       Can be used as description for an attached memo)
  520.    
  521. BatchReminder 4.2 (C) Nice Software!             Page 10
  522.  
  523.   -MAILADDRESS   :    If a persons mailing-address is the same as his
  524.                       HOME-ADDRESS it is not necessary to enter the same
  525.                       data twice. Make sure however that MAIL-ADDRESS is
  526.                       always used in order to prevent problems with
  527.                       MAILMERGE.
  528.   -MAILLIST      :    Choose a short indication like, Private, Xmas etc
  529.                       Since the address-bank has not got a country input
  530.                       field you also could use this field for country 
  531.                       indications.
  532.  
  533.   8a. Mail Merge WordPerfect
  534.   --------------------------
  535.  
  536.   This option enables you to arrange large mailings and/or to produce labels.
  537.   'Mailmerge' creates a secondary file for special use with WordPerfect, in
  538.   which all variables for a document or label are included.
  539.  
  540.   ( NOTE ; in case you don't posses WordPerfect but own a different
  541.   wordprocessing package, it will no doubt be possible to use the same
  542.   method as longs as the Mail-merger uses record- and field-separators to
  543.   merge with ASCII-text files.
  544.   Otherwise make a mailmerge file by means of exporting to dBase or LOTUS and
  545.   importing this in your personal wordprocessor).
  546.  
  547.   It makes no difference if you do mail-merge or print labels, for
  548.   WordPerfect you need two files, a 'primary' file and a 'secondary' file.
  549.   The secondary file contains the actual varying data and is produced by
  550.   BatchReminder. You just pick the data in the order that is expected by the
  551.   primary file.
  552.  
  553.   The primary file you make yourself with WordPerfect and could look like
  554.   this:
  555.  
  556.        To             : {FIELD}1~         ==>Shift-F9,1,1,Enter
  557.        Street         : {FIELD}2~         ==>Shift-F9,1,2,Enter
  558.        Zipcode and City : {FIELD}3~ {FIELD}4~==>etc.
  559.  
  560.   The contents of these 4 fields are actually ready in the secondary file.
  561.   In Wordperfect one combines the two files with CTRL-F9. Just make sure you
  562.   don't mix up the field- and record-separators [ ] and { }.
  563.  
  564.   If you are to print labels you should first define the label-form in
  565.   WordPerfect (SHIFT-F8,2,7, Add, Labels).
  566.   With a ruler for the label dimensions and a small dose of insight this feat
  567.   can easily be accomplished.
  568.  
  569.   To take this burden off your hand, a WP-MACRO 'AVERY.WPM' is supplied with
  570.   BatchReminder. This handy macro will define labelforms for both matrix- and
  571.   laserprinters. You will of course be needing 'AVERY'-labels but that was
  572.   the whole idea behind writing this macro in the first place. AVERY-labels
  573.   come in packages of 25, 50 or 100 sheets.
  574.   
  575.   8b. Mail Merge MS-Word
  576.   ----------------------
  577.   For use with MS-Word BatchReminder creates a data-source file in dBase-format
  578.   (*.DBF).
  579.   MS-Word is able to retrieve information from a dBase file via the ODBC-driver
  580.   which is supplied with MS-Word.
  581.  
  582. BatchReminder 4.2 (C) Nice Software!             Page 11
  583.  
  584.   First create the Merge File with BatchReminder through option 'Addresses:
  585.   Mail Merge: Platform MS-Word'.
  586.   After the dbf-file is created you may startup MS-Word.
  587.   From the Tools-Menu choose option Mail-Merge. The Mail Merge Helper will
  588.   appear. Take step 1 from the Helper and create the main document. 
  589.   Once the main document is created you may proceed to step 2.
  590.  
  591.   Click on 'GetData' - 'Open Data Source'. In the filename-field you may now
  592.   type in *.DBF. At the bottom of the window a 'List Files of Type' should
  593.   now indicate either Foxpro or dBase dbf-files. 
  594.   Now click through the directory listing until you find the BatchReminder
  595.   Mail Merge file. Click on OK. If a confirmation is asked by MS-Word then
  596.   confirm 'dBase file via ODBC'.
  597.  
  598.   When you return to your main document you will now be able to add fields
  599.   from the dbf-file by pressing the 'Insert Merge Field'-button.
  600.  
  601.   Step 3 from the 'Mail Merge Helper' will actually merge the data-source with
  602.   your main document. Query-options help you to put a filter on the data-source
  603.   if you need a selection of records and not all of them.
  604.  
  605.   8c. MS-Word and ODBC (Open Data Base Connectivity)
  606.   --------------------------------------------------
  607.  
  608.   If ODBC is not available when you start Mail Merge then you may have used
  609.   the typical (shortened) installation of MS-Word. Because ODBC is supplied
  610.   with MS-Word you will need to run setup. (This will only take a few minutes).
  611.   Start setup and choose 'Add/Remove'.
  612.   Place a tick in 'Converters, Filters, and Data Sources'.
  613.   Once the tick is present, click on the 'Change Option..' button.
  614.   Look for the box 'DATA Access (ODBC)' and make sure it contains a tick.
  615.   Click on OK and on Continue. Setup will now add ODBC-support.
  616.  
  617.   8d. Exporting data
  618.   ------------------
  619.   Users of dBASE or LOTUS 123 will surely appreciate the possibility to
  620.   process the addressing-data in the named software-packages. For this reason
  621.   the complete address-file can be exported in the format of your choosing.
  622.  
  623.   Any further record- or field selections are left to dBASE or LOTUS.
  624.  
  625.   When exporting to ASCII one must indicate WHICH fields should be
  626.   transformed. Bear in mind that selection of all fields will make the ASCII-
  627.   file to be too long in row-size and probably cause a truncation at import.
  628.  
  629.   8e. Sorting
  630.   -----------
  631.  
  632.   On the address-file NO special tricks like pointers or indexes have been
  633.   applied. A new record is simply added at the end of the current file.
  634.   With the sort option you are completely free to sort the file on any
  635.   indication you see fit. For instance on ZIP-code or on CITY. 
  636.  
  637. BatchReminder 4.2 (C) Nice Software!             Page 12
  638.  
  639.   8f. Memos
  640.   ---------
  641.   BatchReminder memos are personal remarks which are related to persons or
  642.   other entries in de address-file. This enables you to store relevant 
  643.   information about persons which may help you to keep track of their personal
  644.   needs or qualities. E.g. a restaurant-owner will want information about 
  645.   preferations of regular customers.
  646.   Knowing a persons favourite dish or drink shows concern and appreciation.
  647.   If you so desire, BatchReminder can decrypt the memo-text to keep your 
  648.   information confidential.
  649.   
  650.   A memo is created by selecting an existing address-entry followed by pressing 
  651.   Control-N. Only the name-field in the address-window is a required
  652.   field. Other address information may be omitted. The existence of a memo is
  653.   indicated in the lefthand top-corner of the address-window.
  654.   A memo can contain up to 938 characters of text.
  655.          
  656.   Memo-text can be exported/appended to a ASCII-text file which will serve as a 
  657.   historical file so you can browse through them with BatchBrowser (BB.EXE ) or 
  658.   WordProcessor.
  659.    
  660.   8g. Encryption and decryption of memo-text (Control-V)
  661.   ------------------------------------------------------
  662.   This routine makes your memo-text unreadable in order to prevent unauthorized
  663.   use.
  664.   The encryption method is simple and offers a moderate level of protection.
  665.   The text is scrambled with the aid of a password that you supply beforehand.
  666.   Text is made readable again by calling the same procedure again with the same
  667.   password. BatchReminder does not store the password, so if you forget the
  668.   original password, it will be difficult to restore the original text.
  669.  
  670.   In case a decryption fails to give a correct result, it is obvious that the
  671.   password was wrong. Either escape out the memo-screen OR type in the *wrong*
  672.   password again.
  673.   This brings you back to the correct, be it encrypted text, and try again.
  674.  
  675.   The longer the password is, the harder it will be to crack the code. The
  676.   password routine is not case-sensitive.
  677.  
  678.   9. The Utilities
  679.   ================ 
  680.  
  681.   9a. Transfer
  682.   ------------
  683.   This is particularly useful when you use BatchReminder on 2 separate
  684.   computers, e.g. one at work and one at home. 
  685.   TRANSFER compares the BatchReminder data-files on hard disk with those on a
  686.   diskette in drive A, this on a basis of file time and date.
  687.   When the files on hard disk are more recent than those on diskette ( or
  688.   nonexistent on diskette), BatchReminder copies the data to the diskette.
  689.   In the situation where the hard-disk files are older than the ones on
  690.   diskette, it goes the other way around. 
  691.  
  692.   Through this you can travel around with your personal data on diskette and
  693.   need not ask yourself which way you have copy this time.
  694.  
  695. BatchReminder 4.2 (C) Nice Software!             Page 13
  696.  
  697.   9b. BackUp and Restore
  698.   ----------------------
  699.   Copies the data-files BATREM.FIL and BATADRES.FIL to or from diskette.
  700.   
  701.   9c. SystemTime
  702.   --------------
  703.   'Let's synchronize our watches' is an amply used film-expression. To make
  704.   sure that the system-clock is equal to yours, this utility is at hand to
  705.   correct the system time and day to real time.
  706.   Experience learns that system-time lives a life of its own in the long run.
  707.   Because of this you could miss appointments when BatchAlarm gives a signal
  708.   at his time, not necessarily yours.
  709.  
  710.   NOTE! It is pointless correcting the system-time after BatchAlarm has gone
  711.        resident. (This is reported in the BatchReminder bottom status-bar).
  712.        BatchAlarm follows a count-down cycle and doesn't do any real-time
  713.        checks after it has gone resident. If you were to change the
  714.        system-time in such a case you should first unload BatchAlarm and 
  715.        reload it again after the time correction.
  716.  
  717.   9d. BatchErase
  718.   --------------
  719.   With this utility you can quickly dispose of all one-time events in the
  720.   DIARY that lie in the past and therefore are dead-weight for the Reporter.
  721.   Removed entries are written to a historical file BATREM.HIS in ASCII-
  722.   format. This enables you to browse this historical data with BatchBrowser
  723.   (BB.EXE) or a wordprocessor.
  724.  
  725.   9e. The Calculator
  726.   ------------------
  727.   The calculator is kept quit simple and only has the basic-functions: add,
  728.   subtract, multiply and divide. The calculator is also supplied with a one
  729.   register Memory-function. Operating the calculator can either be done by mouse
  730.   or by means of the keyboard. Pressing Function key F1 whilst in the calculator
  731.   gives a summary of the calculator-layout.
  732.  
  733.   9f. The ASCII-list of high ASCII-characters
  734.   -------------------------------------------
  735.   This utility may be called from all data-entry screens in order to choose
  736.   a character which is not part of the key-board layout and should normally
  737.   be generated with a combination of the ALT-key and a key on the numeric pad.
  738.   In BatchReminder the ALT-key activates the Menu-bar and leaves you high and
  739.   dry with key-generation.   
  740.   Pressing Control-A instead brings up a pick-list from which you can choose
  741.   the character you need.
  742.   Note that this ASCII-list is abridged intentionally for this purpose.
  743.  
  744.   9g. BatchBrowse (BB.EXE)
  745.   -------------------------
  746.   I have already told you that BatchErase writes redundant information from the
  747.   DIARY to a text-file (BATREM.HIS). Exported Memo-entries also end up in 
  748.   text-files.
  749.   If you want to properly read these files you need either a file-browser or
  750.   editor.
  751.   
  752.  
  753. BatchReminder 4.2 (C) Nice Software!             Page 14
  754.   
  755.   BatchBrowse is an add-on to BatchReminder and enables you to read these files.
  756.   You may also use it to read binary-files if so required. 
  757.   If you already have your favourite browser then by all means use that one.
  758.   It may well  be more sophisticated than BatchBrowse.   
  759.   I just thought it would not be nice to leave you in dire need of one and
  760.   consequently make you spend money needlessly.
  761.  
  762.   10. Navigating BatchReminder
  763.   ============================= 
  764.  
  765.   The 'pull-down' menu is ACTIVATED by pressing the ALT-key. Quick-keys give
  766.   fast access to a menu-option. These quick-keys however are not operative
  767.   once the menu-bar is activated.
  768.  
  769.   <Buttons> can be activated by placing the cursor on the button and pressing
  770.   ENTER or can be clicked by the mouse.
  771.   The <TAB> Button in the DIARY entry-screen can be activated by the TAB-key,
  772.   by the cursor/ENTER combination or by clicking it with the mouse.
  773.   
  774.   10a. Quick Keys
  775.   ---------------
  776.   As long as the menu-bar is NOT activated some functions can be quickly
  777.   called by pressing the following function-keys:
  778.  
  779.        F1= help                 F6= Consult addresses
  780.        F2= Entry screen DIARY   F7= Entry screen addresses
  781.        F3= Change DIARY entries F8= Change addresses
  782.        F4= Remove DIARY entries F9= Remove addresses
  783.        F5= Calendar             F10= Exit to DOS
  784.  
  785.   10b. Operating the Calendar
  786.   ---------------------------
  787.   Mouse:    Select a day by clicking it with the mouse. A function of a 
  788.             <Button> is called by clicking it with the mouse.
  789.             After selection of the desired date, the adjacent DIARY-window
  790.             may be clicked on. The contents of the day will appear on
  791.             screen. In this situation a new DIARY-event may be entered by
  792.             clicking on the <Input> button.
  793.             Note that only one-time events will be entered with DIARY as
  794.             fixed subject.
  795.             If you need to enter a yearly event, you may now either press
  796.             F2 (Quick-Key) or choose menu-option 'Diary: Entry' whilst
  797.             the DAIRY-window is still on screen. Your chosen date then
  798.             appears in the DIARY-entry screen as default-value.
  799.             While in Calendar-mode you can swap windows by clicking on the
  800.             desired window.
  801.  
  802.   Keyboard: Select a day with the cursor-keys. A function of a <Button> is
  803.             called by pressing the indicated key on the keyboard. 
  804.             After selection of the desired date ENTER may be pressed.
  805.             The contents of the day will appear on screen. In this
  806.             situation a new DIARY-event may be entered by selecting the
  807.             <Input> button.
  808.             Note that only one-time events will be entered with DIARY as
  809.             fixed subject.
  810.  
  811. BatchReminder 4.2 (C) Nice Software!             Page 15
  812.  
  813.  
  814.             If you need to enter a yearly event, you may now either press
  815.             F2 (Quick-Key) or choose menu-option 'Diary: Entry' with
  816.             the ALT-M key combination. Your chosen date then appears in the
  817.             DIARY-entry screen as default value.
  818.  
  819.             While in Calender-mode you may swap windows with the aid of the
  820.             <Buttons>.
  821.  
  822.   11. Colours
  823.   =========== 
  824.  
  825.   BatchReminder checks your video-card for the capability of handling more
  826.   than 4 colours in text-mode and will automatically switch to colour. If
  827.   this is not wanted ( monochrome CGA/EGA/VGA ), colour setup may be
  828.   overruled by selecting 'Config: Monochrome' from the menu-bar.
  829.   BatchReminders configuration is logged to the file BATREM.CFG.
  830.  
  831.   The colour of the Reporter-screen may be set in the Batch-procedure by
  832.   means of the Cx-parameter, where x is a figure from 1 to 8:
  833.  
  834.             C01       Blue
  835.             C02       Green
  836.             C03       Cyan
  837.             C04       Red
  838.             C05       Magenta
  839.             C06       Brown
  840.             C07       White
  841.             C08       Grey
  842.  
  843.   Example:  BATREM 1ZMC07  or : BATREM 1ZMC04
  844.  
  845.   Giving a colour-code is not mandatory. When the Cx parameter is not found
  846.   BatchReminder will switch to default ( blue or white ).
  847.  
  848.   12. The TSR-program BatchAlarm (BATALARM.COM)
  849.   =============================================   
  850.  
  851.   BatchAlarm was written on special request by users who kept on forgetting
  852.   the Reporter-information in de course of the day. Losing all track of time
  853.   as they where deeply immersed in their every day work. In short, they
  854.   wanted an alarm-function on screen.
  855.  
  856.  
  857.   BatchAlarm (BATALARM.COM) was conceived for this purpose and is fully
  858.   written in Assembler, the language the computer knows best. This TSR should
  859.   be regarded as an 'add-on' to BatchReminder. You need this program when you 
  860.   want to hear a signal and see a pop-up message on screen on a preset time.
  861.  
  862.   BatchReminder and BatchAlarm communicate through the interface-file
  863.   '~~~1.ALM' which is optionally created by BatchReminder and is by default
  864.   to be found in the root-directory of drive C.
  865.  
  866.   If this is unwanted ( or impossible: think of diskless workstations) the F-
  867.   parameter should point to the alternative directory. With the very same
  868.   parameter BATALARM.COM must be instructed where to look for its interface-
  869.   file ( see the example in section 7).
  870.  
  871. BatchReminder 4.2 (C) Nice Software!             Page 16
  872.  
  873.   The ALARM-function works as follows:
  874.  
  875.   After you have indicated by selecting 'CONFIG : MakeAlarm' that the ALARM-
  876.   function should be switched on, BatchReminder in BatchMode will check for
  877.   alarm-events for the current day. If alarm-events are found BatchReminder
  878.   writes the alarm-time and alarm-message to the interface-file '~~~1.ALM'.
  879.   If no alarm-events are found the interface-file will not be created but
  880.   erased when found on disk.
  881.  
  882.   Subsequently BatchAlarm will check for the existence of the interface-file.
  883.   When found, BatchAlarm will read the contents and go resident with the
  884.   file-information. ( Make sure to call BatchAlarm first with the correct
  885.   parameters in AUTOEXEC.BAT before you invoke BatchAlarm).
  886.  
  887.   *** Because of the alarm-function the correctness of the system-time ***
  888.   *** is most essential. For this reason a function-key is designed    ***
  889.   *** in the Reporter-screen (F5) which enables you to correct the     ***
  890.   *** system time BEFORE BatchAlarm goes resident. When you make       ***
  891.   *** changes to the set system DATE the Reporter will restart again   ***
  892.   *** in order to give the right information.                          ***
  893.  
  894.   On the preset time BatchAlarm will break through the current application.
  895.   The Reporter-bell will sound and your particular appointment will appear in
  896.   red in the right-hand top corner of the screen. ( When a screen is in
  897.   graphic-mode you just hear the Reporter-bell). 
  898.   The message will appear for 10 seconds every minute and will be stopped
  899.   after pressing the ALT-key. During these 10 seconds the keyboard will
  900.   not accept input, other than the ALT-key.
  901.  
  902.   BatchReminder will then proceed to the count-down of further alarm-events
  903.   (max 10).
  904.   BatchAlarm stays resident until it is deinstalled with 'BATALARM U' or
  905.   until the PC is rebooted. When the computer is rebooted before all alarm-
  906.   events have passed, BatchAlarm will automatically go resident again with
  907.   the remaining alarm-events.
  908.  
  909.   12a. Technical data
  910.   -------------------
  911.   BATALARM.COM 'hooks' Interrupt 1CH (Timer Tick).
  912.  
  913.   * BATALARM.COM also calls the old interrupt vector thus honouring other
  914.   * TSR's that depend on interrupt 1CH. Pay attention however to the fact that
  915.   * not every TSR-programmer follows this rule. If you find that BatchAlarm is
  916.   * disabled by selfish TSR's, load them first before loading BatchReminder.
  917.  
  918.   During initialisation BatchAlarm calculates the remaining seconds for all
  919.   alarm-events (max 10) and goes resident with them. After approximately 18
  920.   timer-ticks BatchAlarm descends 1 second in the count-down cycle.
  921.   When zero is reached BatchAlarm sounds the Reporter-bell and checks the
  922.   screen for text- or graphic-mode. It won't touch graphic screens but you
  923.   will hear the Reporter-bell. (for Windows(95) see 12b).
  924.   In text-mode it saves the back-ground information of the top screen row and
  925.   restores it after the message-time has passed.
  926.  
  927.   12b. BatchAlarm on the Windows(95) platform
  928.   ___________________________________________
  929.  
  930.   In order to make BatchReminder survive the introduction of Windows(95)
  931.   I made the Windows application BatchNotes which uses it's component
  932.   BatchLauncher to launch notes to the screen. BatchLauncher
  933.   will also look for the BatchAlarm interface-file and launches it's contents
  934.   to the Windows-platform when the interface-file is found on disk.
  935.   This takes away the main disadvantage of the DOS-TSR for any Windows user.
  936.   You may use the shareware BatchLauncher free of charge. It is distributed
  937.   worldwide as BATNOTES1.ZIP. The launcher on it's own BATLANCH.EXE (needs
  938.   VBRUN300.DLL) is supplied with the 4.2 release (without VBRUN300.DLL)
  939.   but is not installed in the Windows program groups by INSTALL.EXE. 
  940.   You need to do this manually, preferably in your startup group. 
  941.   If this is beyond you then rest asured.
  942.   When you register BatchReminder you will receive the shareware version
  943.   of BatchNotes which also includes BatchLauncher. BatchNotes setup
  944.   will make a full installation in the Windows environment.
  945.  
  946.   Please note that the TSR-alarm BATALARM.COM should be disabled in
  947.   AUTOEXEC.BAT when you use BatchLaunch for Windows.
  948.  
  949.  
  950.  
  951. BatchReminder 4.2 (C) Nice Software!             Page 17
  952.  
  953.   DURING A SCREEN-MESSAGE THE KEY-BOARD INTERRUPT IS DISABLED TO PREVENT
  954.   the user from making a screen-change before the original screen is
  955.   restored.
  956.   The resident part of BatchAlarm is a mere 1600 bytes in size, thus making
  957.   it one of the smallest memory resident DIARY-utilities.
  958.  
  959.   13. Disclaimer for BatchAlarm (BATALARM.COM)
  960.   ============================================ 
  961.  
  962.   BatchAlarm was kept very simple so it would use very little DOS-memory.
  963.   This simplicity also brings about limitations. Although the programme has
  964.   been tested by me and the test-team on various machines, I cannot give you
  965.   any guarantee that this TSR will work flawlessly. (It has been known to
  966.   hang up dedicated servers running under NOVELL when installed BEFORE 
  967.   the NOVELL-software was loaded). So please load NOVELL first before
  968.   you call BatchAlarm. Please test it on your own configuration to make 
  969.   sure it causes no problems.
  970.  
  971.   BatchAlarm is a 'add-on' to BatchReminder and therefore not essential for
  972.   the operation of BatchReminder itself. 
  973.   When in doubt, or when problems should occur, simply switch off the
  974.   interface with 'CONFIG: MakeNoAlarm' and remove BATALARM.COM from
  975.   AUTOEXEC.BAT. In that case the ALARM-function is restricted to signalling
  976.   double appointments at entry. The Reporter will of course do its duty
  977.   anyway.
  978.  
  979.   14. Maximum number of records in BatchReminders DIARY
  980.   ===================================================== 
  981.  
  982.   In order to keep the processing-speed of BatchReminder optimal, I have
  983.   decided to perform sorting-routines completely in memory (thus sparing
  984.   disk-IO). Also for the sake of the Reporterspeed at boot-up, there was a
  985.   necessity to put limitations to the size of the DIARY-file 'BATREM.FIL'.
  986.   The upper-border of this release 4.2 is absolutely fixed on 1000 events.
  987.   From 950 events on BatchReminder will start to warn that the ceiling is
  988.   about to be reached. With the aid of the BatchErase utility (DIARY,
  989.   BatchErase) you can quickly dispose of all passed one-time events that now
  990.   are a dead loss to the Reporter. BatchErase will move these events to a
  991.   historical file on disk (BATREM.HIS) in ASCII-format.
  992.  
  993.   It is highly recommended to perform BatchErase on a regular basis as to
  994.   keep the performance of BatchReminder on a giddy hight.
  995.  
  996.   This restriction was not imposed on the address-file BATADRES.FIL. The
  997.   maximum size of this file is related to the available size on disk.
  998.   Sorting of the address-file goes by means of DISK-IO. Sorting a large file
  999.   may therefore take some time.
  1000.  
  1001.  15. How about using BatchReminder permanently?
  1002.   ==============================================
  1003.  
  1004.   BatchReminder is a SHAREWARE product. This means that you may try out this 
  1005.   program for a given time. You are also encouraged to upload this program
  1006.   or pass it on to friends so they might try it as well.
  1007.   However, if you still use the programme after a month you are expected to
  1008.   pay for it.  
  1009.  
  1010.  
  1011. BatchReminder 4.2 (C) Nice Software!             Page 17
  1012.  
  1013.   Registering BatchReminder entitles you to receive a diskette with the
  1014.   most recent version of BatchReminder, registered to your name.
  1015.  
  1016.   As a registered user you are allowed to install BatchReminder on two PC's
  1017.   to your choosing, e.g. one at home and one at work.
  1018.  
  1019.   A multi-user receives the right (and the possibility) to implement
  1020.   BatchReminder in a multi-user environment.
  1021.  
  1022.   Registering gives you the right to free updates as they come out, against
  1023.   payment of mailing-costs. No extra charges, apart from mailing-costs, will
  1024.   ever be made, not even when the price of BatchReminder should rise.
  1025.   You will be contacted by letter in the event of a new major release.
  1026.  
  1027.   The amount for a single user license is Dutch fl 60.00 (± US$ 38.00).
  1028.   For multi-users an unlimited site-license can be obtained for 
  1029.   Dutch fl 140.00 (± US$ 88.00). Please note that the price is always based
  1030.   on the Dutch currency Dfl (guilders). The amount in US dollars is only
  1031.   a indication based on the average exchange-rate in June 1995.
  1032.   The actual amount in your currency will depend on the current rate of
  1033.   exchange when the transfer is made.
  1034.   
  1035.   For registering BatchReminder you may make use of the form which is
  1036.   included in the file REGISTER.FRM
  1037.  
  1038.   Credit Card registrations (American Express/Eurocard/Mastercard) are
  1039.   most welcome!
  1040.  
  1041.   16. What happens if I do not register?
  1042.   ======================================
  1043.  
  1044.   The try-out version of BatchReminder allows a test period of 30 days.
  1045.   After 30 days of use, BatchReminder will ask for registration in batchmode.
  1046.   In this stage BatchReminder will continue to operate normally.
  1047.   The commercial is merely a reminder that the use of BatchReminder is not
  1048.   free.
  1049.   When the commercial appears you are granted additional 30 days of use in
  1050.   order to enable you to register.
  1051.   After 60 days of free use, BatchReminder will no longer work in Batchmode
  1052.   and will refuse access to its data-files. 
  1053.  
  1054.   17. Credit where Credit is due
  1055.   ============================== 
  1056.  
  1057.             Part of this programme is copy-righted by :
  1058.             MICROSOFT (R)  - BASIC Professional Development System 7.10
  1059.             ASSEMBLER-ROUTINES (Other than BATALARM)
  1060.                           - Courtesy of Mr Christy Gemmell, England
  1061.             Test-driving :
  1062.             Wim de Lange, Aad Hendriks, Ruby Behre, Albert C.F. Stevens
  1063.             Henry van den Brink, Arie Bos, Ferry Worung, Jack Lindeboom
  1064.  
  1065.             Special thanks for relentless testing of BatchAlarm to:
  1066.             Albert C.F. Stevens
  1067.  
  1068.             Design & Programming :
  1069.             Ben Kalkhoven, h.o. Nice SoftWare!
  1070.             Zoetermeer, THE NETHERLANDS, March 1996
  1071.  
  1072.